/**
 * 
 */
package impresor.etiquetas.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.ForeignKey;
import org.hibernate.annotations.Type;

/**
 * @author Pablo Moreno
 *
 */
@Entity
@Table(name="TBL_Zona" , catalog="matrix")
public class Barrio implements Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "NeiId")
    private long idBarrio;
    
    @Column(name = "NeiName")
    private String nombre;
    
    @Column(name = "NeiDescription")
    private String descripcion;
    
    @ManyToOne
    @JoinColumn(name="CityId")
    @ForeignKey(name="FK_PFBS_Neighborhood_PFBS_City")
    private Ciudad ciudad;
    
    @Column(name = "CountyId")
    private Integer idProvincia;
    
    @Column(name = "IsDeleted", columnDefinition = "TINYINT")
    @Type(type = "org.hibernate.type.NumericBooleanType")
    private boolean eliminado;
    
    @Column(name = "NeiZip")
    private String zip;

    /**
     * @return the idBarrio
     */
    public long getIdBarrio() {
        return idBarrio;
    }

    /**
     * @param idBarrio the idBarrio to set
     */
    public void setIdBarrio(long idBarrio) {
        this.idBarrio = idBarrio;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the descripcion
     */
    public String getDescripcion() {
        return descripcion;
    }

    /**
     * @param descripcion the descripcion to set
     */
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    /**
     * @return the ciudad
     */
    public Ciudad getCiudad() {
        return ciudad;
    }

    /**
     * @param ciudad the ciudad to set
     */
    public void setCiudad(Ciudad ciudad) {
        this.ciudad = ciudad;
    }

    /**
     * @return the idProvincia
     */
    public Integer getIdProvincia() {
        return idProvincia;
    }

    /**
     * @param idProvincia the idProvincia to set
     */
    public void setIdProvincia(Integer idProvincia) {
        this.idProvincia = idProvincia;
    }

    /**
     * @return the eliminado
     */
    public boolean isEliminado() {
        return eliminado;
    }

    /**
     * @param eliminado the eliminado to set
     */
    public void setEliminado(boolean eliminado) {
        this.eliminado = eliminado;
    }

    /**
     * @return the zip
     */
    public String getZip() {
        return zip;
    }

    /**
     * @param zip the zip to set
     */
    public void setZip(String zip) {
        this.zip = zip;
    }
    
}
